package com.haiyi.test.dtmoths;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

/**
 * 1.发送的时候使用URLEncoder.encode编码，接收的时候使用URLDecoder.decode解码，
 * 都按指定的编码格式进行编码、解码，可以保证不会出现乱码
 *
 *2.主要用来http get请求不能传输中文参数问题。http请求是不接受中文参数的。
 *这就需要发送方，将中文参数encode，接收方将参数decode，这样接收方就能收到准确的原始字符串了。
 *
 */
public class URLEncodeAndURLDecode {
	
	public static void main(String [] args) {
		//如果url含% 不允许多次解码，不含则可以
		String testString = "abcdefghijk鹏程/10%";
        try
        {
        	//使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式
            String encoderString = URLEncoder.encode(testString, "utf-8");
            System.out.println("编码后："+encoderString);
            
            //使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。
            String decodedString = URLDecoder.decode(encoderString, "utf-8");
            System.out.println("解码后："+decodedString);
            String decodedStringtwo = URLDecoder.decode(testString, "utf-8");
            System.out.println("解码后two："+decodedStringtwo);
        } catch (UnsupportedEncodingException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

	}

}
